package cn.edu.zafu.bigdata.bd121.file;

import java.io.FileReader;
import java.io.FileWriter;

/**
 * 题目3：追加文本并读取文件内容
 * 描述：
 * 编写一个程序，将用户输入的文本追加到第2题所写的文件中，并读取文件内容显示到控制台。若文件不存在，则创建新文件。
 * 具体要求：
 * 追加内容：创建一个方法appendToFile(String fileName, String content)，将用户输入的文本追加到指定文件中。
 * 读取文件：创建一个方法readFile(String fileName)，读取文件内容并打印。
 * 测试：在main方法中，提示用户输入文本，将其追加到文件，然后读取并显示文件内容。
 *
 * @author 202211090121
 */
public class AppendFileDemo {


    private static void appendToFile(String fileName, String content) {
        try {
            // 打开文件
            FileWriter writer = new FileWriter(fileName, true);
            // 写入内容
            writer.write(content);
            // 关闭文件
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void readFromFile(String fileName) {
        try {
            // 打开文件
            FileReader reader = new FileReader(fileName);
            // 读取内容
            int c;
            while ((c = reader.read()) != -1) {
                System.out.print((char) c);
            }
            // 关闭文件
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        // 输入文本
        String content = "Hello, world!\n";
        // 写入文件
        String fileName = "src/main/java/cn/edu/zafu/bigdata/bd121/file/202211090121.txt";
        appendToFile(fileName, content);
        // 读取文件
        readFromFile(fileName);
    }
}
